Image processing apparatus, image processing method and computer readable medium

ABSTRACT

An image processing apparatus is provided which determines a printing position of an identification code in accordance with a print setting designated for printing target data. For example, it makes a decision as to which one of the cutting printing, poster printing, job-based printing (such as bookbinding printing or staple printing), 2-sided printing, and other printing (such as normal layout printing and reduction layout (Nup) printing) is designated, and decides the printing position of a two-dimensional code. In page layout printing, the two-dimensional code is output in a mode suitable for source document data after page layout.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technology for carrying out highquality printing using an original document.

2. Description of Related Art

There is a system that stores scan data read from a source document by ascanner in a storage device as document data, and that when copying thesource document afterward, reads the document data corresponding to thesource document from the storage device and prints. The system utilizes,when copying the source document using an image processing system suchas an MFP (MultiFunction Peripheral), the document data corresponding tothe source document as the data for printing rather than the scan dataof the source document. As an example of such a system, there is atechnology disclosed in Japanese Patent Laid-Open No. H10-143414 (1998).The technology disclosed in it is as follows.

First, when printing a source document (original), a two-dimensionalcode representing document management information of the document datais printed together with the document data. After that, when making acopy of the paper document on which the data is printed, the documentdata corresponding to the source document is retrieved and printed inaccordance with the two-dimensional code detected from the paperdocument. Here, the term “document management information” refers toinformation for designating a storage location (storage device, storagearea or the like) of the document data.

On the other hand, there is page layout printing that prints sourcedocument data on a plurality of continuous pages on a sheet of paperwith reduction arrangement (also referred to as “reduction layout”,“aggregation” or “combination”). The page layout printing is a functioneffective for draft printing, catalog printing and the like.

In addition, Japanese Patent Laid-Open No. 2007-81936 describes atechnique of printing data about print conditions such as paper size,direction of printing and aggregation conditions and about a documentform in a two-dimensional code. Then, it discloses a technique ofdeciding the layout of a page using the two-dimensional code printed onpaper when making a copy. In particular, it discloses a technique ofprohibiting, when a scanned source document has already been 2-in-1printed when making a copy, further aggregation of the source documentimage, or a technique of carrying out control for adjusting thedirection of the images.

However, the foregoing conventional technology does not decide theprinting position of the two-dimensional code taking account of the waythe printed matter is utilized after printout.

When printing a document having a two-dimensional code assigned to eachpage in the reduction layout (2-in-1, 4-in-1 and the like), a printedmatter with a page layout as shown in FIG. 1 is obtained. As shown FIG.1, since the pages each having the two-dimensional code are reduced andprinted, the single page includes a plurality of reduced two-dimensionalcodes, thereby deteriorating the appearance of the printed matter. Inaddition, since the two-dimensional codes are reduced to be printed inthis case, it becomes difficult to read the two-dimensional codes.Besides, since the plurality of two-dimensional codes must be processed,the performance of the printing processing reduces.

Therefore an object of the present invention is to provide an imageprocessing apparatus capable of outputting a two-dimensional code in amode suitable for the source document data.

SUMMARY OF THE INVENTION

An image processing apparatus in accordance with the present inventioncomprises a position deciding component configured to decide a printingposition of an identification code according to a print settingdesignated for printing target data; an identification code generatingcomponent configured to generate the identification code includinginformation about the printing target data; a combining componentconfigured to combine bitmap data for the generated identification codeinto a printing position in bitmap data generated from the printingtarget data, wherein the printing position is decided by the positiondeciding component; and an output component configured to outputcombined bitmap data.

Another image processing apparatus in accordance with the presentinvention comprises a component configured to input a page descriptionlanguage, page layout information, and identification code outputposition information indicating an output position of an identificationcode; a component configured to convert the page description languageinto an intermediate page description language based upon the pagelayout information; a component configured to generate page layoutinformation metadata associated with the intermediate page descriptionlanguage based upon the page layout information and the identificationcode output position information; a component configured to generate anidentification code designating a link information, wherein the linkinformation indicates the page layout information metadata; a componentconfigured to convert the intermediate page description language and theidentification code into bitmap data; a component configured to combinethe bitmap data of the intermediate page description language with thebitmap data of the identification code; and a component configured tostore the intermediate page description language and the page layoutinformation metadata associated with each other in a storage.

An image processing method in accordance with the present inventioncomprises a step of inputting a page description language, page layoutinformation, and identification code output position informationindicating an output position of an identification code; a step ofconverting the page description language into an intermediate pagedescription language based upon the page layout information; a step ofgenerating page layout information metadata associated with theintermediate page description language based upon the page layoutinformation and the identification code output position information;generating an identification code designating a link information,wherein the link information indicates the page layout informationmetadata; a step of converting the intermediate page descriptionlanguage and the identification code into bitmap data; a step ofcombining the bitmap data of the intermediate page description languagewith the bitmap data of the identification code; and a step of storingthe intermediate page description language and the page layoutinformation metadata associated with each other in a storage.

A computer readable medium in accordance with the present inventionrecords a program for causing a computer to execute the foregoing imageprocessing method.

According to the present invention, it can facilitate calling the pagelayout information by placing the link information to th epage layoutinformation metadata, which manages the information about the pluralityof pages having been subjected to the page layout, in the identificationcode such as a two-dimensional code. In addition, according to thepresent invention, since it sets the number of the two-dimensional codesto be printed at an appropriate number (such as one) in accordance withthe page layout, it can offer the following advantages.

-   -   It can reduce analyzing time of the two-dimensional code or the        like.    -   It can fix the size and printing position of the two-dimensional        code or the like, thereby being able to increase a success rate        when reading the two-dimensional code or the like.    -   It can provide a user with a good appearance printed matter.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments (with reference to theattached drawings).

BRIEF DESCRIPTION OF THE DRAWINGS

The best mode for carrying out the invention will now be described withreference to the accompanying drawings.

FIG. 1 is a view showing a conventional two-dimensional code outputexample;

FIG. 2 is a diagram showing a construction of an MFP suitable forimplementing the present invention;

FIG. 3 is a block diagram showing a configuration of an image processingapparatus in accordance with the present invention;

FIG. 4 is a block diagram showing a configuration of the controller ofthe MFP suitable for implementing the present invention;

FIG. 5 is a block diagram showing a configuration of controller softwarefor controlling the operation of the MFP;

FIG. 6 is a flowchart showing the processing for determining the outputposition of the two-dimensional code;

FIG. 7 is a dataflow diagram showing a flow of generating processing ofa document composed of vector data, display list and metadata in a PDLprint in an embodiment in accordance with the present invention;

FIG. 8 is a diagram for explaining page layout information metadata inthe embodiment in accordance with the present invention;

FIG. 9 is a diagram for explaining page layout information metadata inthe embodiment in accordance with the present invention;

FIG. 10 is a flowchart showing a flow of document printing processing inthe embodiment in accordance with the present invention;

FIG. 11 is a dataflow diagram showing a flow of copy processing in theembodiment in accordance with the present invention;

FIG. 12 is a flowchart showing a flow of the copy processing using atwo-dimensional code in the embodiment in accordance with the presentinvention;

FIG. 13 is a diagram showing a data structure of a document in theembodiment in accordance with the present invention;

FIG. 14 is a view showing a two-dimensional code output example in theembodiment in accordance with the present invention;

FIG. 15A and FIG. 15B are diagrams each showing a storage area of astorage storing various data shown in FIG. 13 in the embodiment inaccordance with the present invention;

FIG. 16 is a dataflow diagram showing a flow of the copy processing inan embodiment in accordance with the present invention; and

FIG. 17 is a flowchart showing a flow of document printing processingbased on a two-dimensional code detected by scanning a paper sourcedocument in the embodiment in accordance with the present invention.

DESCRIPTION OF THE EMBODIMENTS Structural Example of MFP

FIG. 2 is a diagram showing a construction of an MFP suitable forimplementing the present invention.

A document exposure unit (scanner unit) reads a source document placedon document glass optically, and generates image data.

A laser exposure unit launches laser light modulated by the image dataonto a rotary polygon mirror rotating at uniform angular velocity, andirradiates a photoconductive drum with the reflected light serving asscanning light to form a latent image on the photoconductive drum.

An image-forming unit executes an electrophotographic process. Theelectrophotographic process has a series of processes such as rotarydriving of the photoconductive drum, charging by a charger, developmentof a latent image by toners, transfer of toner images onto a sheet, andcollection of a minute quantity of toners left on the photoconductivedrum. The development of the latent image by toners is carried out by adeveloping unit having toners of magenta (M), cyan (C), yellow (Y) andblack (K) while a sheet is rotated four times winding itself around aprescribed position of a transfer belt. By the developing process, tonerimages of YMCK colors are formed on the photoconductive drum.Subsequently, the full-color toner image of the four colors formed onthe photoconductive drum is transferred onto the sheet by transferprocess. The sheet having the toner images transferred is conveyed to afixing unit.

The fixing unit has rollers, a belt and a heat source such as a halogenheater, and fixes the toners on the sheet by melting the toners on thesheet with heat and pressure.

A paper feed/conveyor unit has at least one sheet container such as asheet cassette or paper deck. The paper feed/conveyor unit separates asheet from a plurality of sheets stored in the sheet container inaccordance with an instruction from a control unit (not shown) of theimage processing system, and carries it to the image-forming unit andfixing unit. The sheet is conveyed to the fixing unit after being woundaround the prescribed position of the transfer belt of the image-formingunit and rotated four times. During the four revolutions of the sheet,the toner images of the YMCK colors are transferred onto the sheet. Whenimages are formed on both sides of the sheet, the sheet passing throughthe fixing unit is carried back to the image-forming unit again via aconveyor path.

The control unit controls the operation of the scanner, laser exposureunit, image-forming unit, fixing unit, paper feed/conveyor unit and thelike.

Configuration Example of System

FIG. 3 is a block diagram showing a configuration of an image processingsystem in accordance with the present invention.

In FIG. 3, the image processing system has a communication network suchas a LAN (Local Area Network) 10 (Ni), and MFP 310, MFP 320 and MFP 330capable of communicating via the communication network. The MFPs carryout data communication with each other via the LAN.

The MFPs have HDDs (Hard Disk Drives) 340, 350 and 360 as a storagedevice, respectively.

Resolutions of the MFPs differ depending on the type of the MFPs. Theterm “resolution” refers to a value indicating a definition level of theprinting of a printer or the like. As for the printer, the resolution isrepresented in terms of the number of dots printable per inch (the unitis dpi). The greater the resolution, the higher the definition ofcharacters and images reproduced. As for the scanner, also, theperformance of how precisely it can read an image is defined in terms ofa resolution represented in dpi. It is assumed here that the resolutionof the printers of the MFP 310 and MFP 330 is 600 dpi, and theresolution of the printer of the MFP 320 is 1200 dpi. The resolutions ofthe scanners mounted on the MFPs also differ for each MFP. It is assumedhere that the resolution of the scanners of the MFP 310 and MFP 320 is600 dpi, and the resolution of the scanner of the MFP 330 is 300 dpi.The processing performance of the printer differs for each MFP. It isassumed that the MFP 310 and MFP 320 are equipment capable of color(Full Color) printing, and the MFP 320 is equipment capable ofmonochromatic (Mono Color) printing.

In addition, each MFP has a rasterizer mounted. The rasterizer ishardware or software tool for expressing characters or images a computerhandles in an arrangement of small color dots (bitmap data) so that aprinter can print them. The computer stores in itself a font(characters) or printing image in the form of coordinates of points andparameters of equations of lines and planes connecting the points, andrendering information such as solid filling in the vector form. On theother hand, the printer cannot print the rendering information (vectordata) in the vector form as it is because it handles the image as a setof color dots (pixels) arranged in horizontal and vertical directions.Accordingly, it is necessary to convert the vector form renderinginformation to raster form bitmap data. The conversion of the vectordata to the bitmap data is referred to as rasterization.

When printing using the MFP with a function of collectively printingdata of one page, the computer generates PDL data (Page DescriptionLanguage data) and transmits the PDL data it generates to the MFP via anetwork. The MFP converts the PDL data to the vector data, and furtherconverts the vector data to a display list (DL). The term “PDL data”means a Page Description Language for designating a layout of charactersand graphics on a “page” to be printed. The term “display list” refersto an intermediate page description language generated in the process ofconverting the vector data to bitmap data. The display list describesrendering instructions. The rasterizer described before converts thedisplay list to bitmap data.

Incidentally, as for the functions of the MFP 310-MFP 330 and the numberof the MFPs, they are not limited to those shown in FIG. 3. In addition,to the LAN 10, any information processing system other than the MFP suchas a computer can be connected.

Configuration Example of Controller

FIG. 4 is a block diagram showing a configuration of the controller ofthe MFP suitable for implementing the present invention.

The controller 200 is connected to a scanner 201, a printer engine 202and an operating unit 210, and carries out, using its internal CPU,reading control of image data, image processing, printout control, printsettings and the like. In addition, the controller 200 performsinput/output control of the image information and device informationbetween it and external devices (such as the other MFPs or informationprocessing systems like a computer).

The controller 200 has a system bus 213 and an image bus 215 fortransferring image data at high speed, and various components areconnected to the buses. The system bus 213 and the image bus 215 areinterconnected via an image bus I/F 214. The image bus I/F 214 is aninterface for connecting the system bus 213 and the image bus 215.

To the system bus 213, a CPU 205, a RAM 206, a ROM 207, an HDD 208, anoperating unit I/F 209, a network I/F 211, and a modem 212 areconnected.

The CPU 205 operates on the basis of controller software, which will bedescribed later. The RAM 206 serves as a system work memory the CPU 205uses, and also as an image memory for temporarily storing input imagedata. The ROM 207 is a boot ROM that stores a boot program of thesystem. The HDD 208, which is a hard disk drive, stores controllersoftware for various processing and input image data and the like.

The operating unit I/F 209 outputs operating screen data to theoperating unit 210 for presenting an operating screen to a user.Besides, the operating unit I/F 209 supplies to the CPU 205 aninstruction the user inputs to the operating unit 210. The network I/F211 is a LAN card or the like for connecting the controller 200 to theLAN 10, and performs data transmission and reception between it and theexternal devices. The modem 212 is a device for connecting thecontroller 200 to a public network 204, and performs data transmissionand reception between it and the external devices.

To the image bus 215, a raster image processor (RIP) 216, a device I/F217, a scanner image processor 218, a printer image processor 219, animage editing image processing unit 220, and a color management module(CMM) 230 are connected.

The raster image processor 216 converts the PDL data and vector data tobitmap data. The device I/F 217 connects the scanner 201 or printerengine 202 to the controller 200, and carries outsynchronous/asynchronous conversion of the image data.

The scanner image processor 218 performs various processing such ascorrection, working and editing on the image data input from the scanner201. The printer image processor 219 performs processing such ascorrection and resolution conversion on the image data to be printed outin conformity with the printer engine 202. The image editing imageprocessing unit 220 carries out various image processing such asrotation of the image data and compression and decompression processingof the image data. The color management module 230 performs, on theimage data, color conversion processing (or color space conversionprocessing) based on profile or calibration data. The profile is afunction for converting, for example, color image data expressed in acolor space depending on the system to that in a color space (such asLab) independent of the system. The calibration data is data forcorrecting color reproduction characteristics of the scanner 201 orprinter engine 202.

Configuration Example of Controller Software

FIG. 5 is a block diagram showing a configuration of the controllersoftware for controlling the operation of the MFP.

A printer interface 400 carries out transmission and reception of databetween it and the external devices via the network. A protocol controlunit 401 performs control of data communication in accordance with aprescribed network protocol.

A vector data generating unit 402 executes processing (vectorizing) forconverting the bitmap data to vector data which is a renderingdescription independent of the resolution. A metadata generating unit403 generates secondary information obtained in the vectorizing processas metadata. The metadata is additional data for image retrieval.

A PDL analyzing unit 404 analyzes PDL data and converts it to a displaylist. A data rendering unit 405 converts the display list it receivesfrom the PDL analyzing unit 404 to the bitmap data. A page memory 406stores the bitmap data. A panel input/output control unit 407 controlsthe operating unit 210.

A document storage 408 stores the vector data, display list, and datafile including the metadata on a job-by-job basis. In the followingdescription, the data file is referred to as “document file” (Document).

A scanning control unit 409 performs various processing such ascorrection, working and editing on the image data input from the scanner201. A printing control unit 410 converts the bitmap data stored in thepage memory 406 to an image signal, and outputs it to a printer engine411. The printer engine 411 generates an image to be printed on paper onthe basis of the image signal received.

First Embodiment Document File Generating Processing and DocumentPrinting Processing

The generating processing of the document file in the PDL print will bedescribed with reference to the drawings.

The term “PDL print” refers to the operation in which the MFP receivesvia the network the printing target data (PDL data) the printer driverinstalled in the computer generates, and prints it out after executingprescribed image processing.

Although the following embodiments employ a two-dimensional code as anidentification code, they can also use an identification code such as abar code or a copy-forgery-inhibited pattern.

The MFP receives the PDL data, that is, the printing target data, alongwith the page layout information (including the print setting) from thecomputer. It is assumed here that two-dimensional code output positioninformation (identification code output position information) which willbe described later is determined in accordance with the print setting(page layout) designated by a user. Although it is assume in the presentembodiment that the MFP executes the two-dimensional code outputposition deciding processing, the computer can also execute it.

The page layout information is information that designates, whenreducing and integrating a plurality of continuous pages (logical pages)into a sheet of paper (physical page), the way the plurality of logicalpages are arranged into the single physical page. The page layoutinformation includes, for example, arrangement information about logicalpages such as printing the first page of the logical pages on the leftside of the physical page, and the second page of the logical pages onthe right side thereof.

The two-dimensional code output position information indicates a part onthe paper where the two-dimensional code is to be printed in accordancewith various printing mode (such as cutting printing, poster printing,job printing, and 2-sided printing).

Here, an example of the output position information on thetwo-dimensional code will be described.

Since the two-dimensional code is a code read by the scanner, it musthave a certain size to increase its reading accuracy. On the other hand,since the two-dimensional code is placed on the source document, it isvisually desirable for the user that a minimum number of thetwo-dimensional codes are printed on a designated region within thesource document. Accordingly, it is preferable that the two-dimensionalcode be output as follows.

-   -   Output the two-dimensional code onto such a region where it does        not conceal the original source document data (at the lower        right blank space on the page, for example).    -   Minimize the number of the two-dimensional codes to be output        (one two-dimensional code per page, for example)    -   Output the minimum size two-dimensional code the scanner can        read.

Basically, although it is preferable that a single two-dimensional codebe output per page, the output position of the two-dimensional code isconceivable which is decided in accordance with the page layoutinformation and a method of dealing with the plurality of pages. It isassumed in the present embodiment that the output position of thetwo-dimensional code is decided in accordance with the print setting theuser designates as shown in FIG. 6.

At steps S601-S604 in FIG. 6, a decision is made as to the contents ofthe print setting (page layout setting) the user designates. As theprint settings, there are cutting printing, poster printing, job-basedprinting (such as bookbinding printing or staple printing), 2-sidedprinting, and other printing (such as normal layout printing (normalprinting), and reduction layout (Nup) printing).

-   -   In the case of the cutting printing, since the printing is        performed on the precondition that the paper is cut thereafter,        the position to which the two-dimensional code is output is        decided at step S605 for each page (logical page) after cutting.    -   In the case of the poster printing, since the printing is        performed on the precondition that the papers are joined        together thereafter, the output position is decided at step S606        in such a manner that the two-dimensional code is printed only        at a specified position (at the lower right, for example) on the        paper joined together. For example, the output position of the        two-dimensional code is decided in the physical page that will        come to the lower right when jointed together.    -   In the case of JOB printing (that is, when it is known that a        plurality of pages are dealt with as a set without exception        such as in the bookbinding printing and staple printing), the        output position of the two-dimensional code having information        linked to all the pages is decided at step S607 in such a manner        that it is placed only on the first page.    -   In the case of the 2-sided printing, the two-dimensional code        output position is decided at step S608 in such a manner that        the information included in the back side is put into the page        layout information metadata (which will be described later)        indicated by the two-dimensional code on the front side, and        that the two-dimensional code is output only onto the front        side. As for a sheet whose back side will become blank at the        2-sided printing, information indicating that the back side is        blank can be put into the page layout information metadata.    -   In the other cases (when the printed matter is handled on a        physical page basis after the printing), the output position of        the two-dimensional code is decided at step S609 for each        physical page. For example, in the case of the normal layout        printing (when the logical pages are printed on a page-by-page        basis), the printing position of the two-dimensional code having        the information about the logical page to be printed is decided.        In addition, in the case of the reduction layout printing (when        a plurality of logical pages are printed on a single physical        page), the information about the plurality of logical pages to        be printed is stored into a single two-dimensional code, and the        printing position of the two-dimensional code is decided on the        physical page.

FIG. 7 is a dataflow diagram showing a flow of the generatingprocessing/printing processing of the document file.

The controller 200 executes the processing. As described above, in thepresent embodiment, the MFP receives the PDL data, page layoutinformation and two-dimensional code output position information fromthe computer.

In PDL data analyzing processing d501, the controller 200 analyzes thePDL data it receives from the computer via the network, and generatesthe vector data and metadata.

In display list generating processing d502, the controller 200 convertsthe vector data to the display list.

In rasterizing processing d503, the controller 200 converts the displaylist to the bitmap data.

In two-dimensional code generating processing (identification codegenerating processing) d504, the controller 200 generates thetwo-dimensional code from the page layout information andtwo-dimensional code output position information received together withthe PDL data. The two-dimensional code output position information isdecided by the processing of FIG. 6.

In rasterizing processing d505, the controller 200 converts thetwo-dimensional code generated to the bitmap data.

In combining processing d506, the controller 200 combines the bitmapdata obtained at the rasterizing processing d503 and d505.

In printing processing d507, the controller 200 prints the combinedbitmap data on paper. Thus, a printed matter having the source documentdata and two-dimensional code printed is obtained.

In document generating processing d508, the controller 200 generates adocument file, and stores it in the document storage 408. The documentfile records the vector data, display list and metadata generated in theforegoing processing and the page layout information metadata generatedfrom the page layout information and the like while they are associatedwith each other.

Incidentally, setting the printed matter obtained in the printingprocessing d606 on the document exposure unit makes it possible toexecute the series of the foregoing processing.

Here, the page layout information metadata will be described.

The page layout information metadata, the data indicated by the linkinformation represented by the two-dimensional code, is additionalinformation designating the page layout.

FIG. 8 and FIG. 9 are diagrams for explaining the page layoutinformation metadata.

As shown in FIG. 8, in the case of printing a single two-dimensionalcode on each physical page in 2-UP printing (2-in-1 printing, whichprints two logical pages on one physical page by reduction), the pagelayout information metadata describes the following information.

The page layout information metadata about the first physical pagedescribes the page layout information, its display list and the linkinformation designating the document data of each page. The page layoutinformation describes the settings of printing the first logical page onthe left side of the first physical page and the second logical page onthe right side thereof. Likewise, the page layout information metadataabout the second physical page describes the page layout information,its display list and the link information designating the document dataof each page. The page layout information describes the settings ofprinting the third logical page on the left side of the second physicalpage and the fourth logical page on the right side thereof. As shown inFIG. 9, in the case of printing a single two-dimensional code on asingle document consisting of a plurality of physical pages, the pagelayout information metadata describes link information for designatingthe page layout information about all the physical pages and fordesignating the document data.

FIG. 10 is a flowchart showing a flow of the document printingprocessing. The controller 200 executes the processing.

At step S703, the controller 200 receives the PDL data and page layoutinformation the printer driver on the computer generates, and executesthe PDL data analyzing processing.

Step S704 is a loop origin from which a loop starts until the entirepage processing in the received PDL data is completed. Step S705 is aloop origin from which a loop starts until the page layout of all thepages is completed.

At step S706, the controller 200 generates from the vector data in thePDL data the display list and metadata passing through the page layout.

Step S707 is a loop end of the page layout for all the pages (loop endwith respect to S705).

At step S708, the controller 200 rasterizes the page layout completeddisplay list generated from step S705 to step S707, and converts thedata on the first physical page into the bitmap data.

At step 710, the controller 200 generates the page layout informationmetadata in accordance with the page layout information andtwo-dimensional code output position information. Here, thetwo-dimensional code output position information is that decided in theprocessing of FIG. 6 described before.

At step 711, the controller 200 generates the two-dimensional coderepresenting the link information indicating the page layout informationmetadata in accordance with the received two-dimensional code outputposition information.

At step 712, the controller 200 rasterizes the two-dimensional codegenerated, and converts it to the bitmap data.

At step S713, the controller 200 combines the bitmap data of the pagelayout completed display list generated at step S708 with the bitmapdata of the two-dimensional code generated at step S712.

At step S714, the controller 200 prints the bitmap data combined,thereby obtaining a printed matter that undergoes the page layout andhas the two-dimensional code printed.

Step S715 is a loop end of the processing of all the pages of the PDLdata received (loop end with respect to S704).

At step S716, the controller 200 stores the page layout completeddisplay list and metadata (S706) and the page layout informationmetadata (S710) in the document storage 408 while establishingassociation between them.

Copy Processing Using Two-Dimensional Code

FIG. 11 is a dataflow diagram showing a flow of the copy processingusing the two-dimensional code in the present embodiment.

In scanning processing d601, the controller 200 converts the sourcedocument image data (scanned image data) the scanner reads from a papersource document (source document that underwent page layout printing)set on the document exposure unit into the bitmap data. The paper sourcedocument has the two-dimensional code printed together with the sourcedocument data. Accordingly, the bitmap data includes the bitmap data ofthe two-dimensional code.

In two-dimensional code detecting/interpreting processing d602, thecontroller 200 detects and interprets the bitmap data included in thebitmap data of the two-dimensional code. Subsequently, the controller200 acquires the link information indicating the page layout informationmetadata stored in the document storage 408 from the two-dimensionalcode detected. By the processing, the page layout information metadatastored in the document storage 408 is identified (d603).

In rasterizing processing d604, the controller 200 reads the page layoutcompleted display list related to the page layout information metadatain the processing d603 from the document storage 408. Subsequently, itconverts the display list to the bitmap data.

In combining processing d605, the controller 200 combines the bitmapdata obtained in the rasterizing processing d604 with the bitmap data ofthe two-dimensional code detected in the two-dimensional codedetecting/interpreting processing d602.

In printing processing d606, the controller 200 prints the combinedbitmap data on paper. The processing completes copying the paper sourcedocument having the source document data (page layout completed sourcedocument data) and the two-dimensional code print thereon.

FIG. 12 is a flowchart showing a flow of the copy processing using thetwo-dimensional code.

Step S802 is a loop origin from which a loop starts until the entirepage processing of the paper source document is completed.

At step S803, the controller 200 performs the scanning processing on thepaper source document (source document that underwent page layoutprinting) to obtain the source document image data.

At step S804, the controller 200 detects the two-dimensional codeincluded in the source document image data obtained at step S803, andinterprets the information the two-dimensional code represents.Subsequently, the controller 200 acquires the link informationindicating the page layout information metadata stored in the documentstorage 408 from the two-dimensional code detected. The processingidentifies the page layout information metadata stored in the documentstorage 408.

At step S805, the controller 200 performs the rasterizing processing onthe page layout completed display list related to the page layoutinformation metadata identified at step 804 to convert it to the bitmapdata.

At step S806, the controller 200 generates the bitmap data of thetwo-dimensional code for printing from the data obtained by interpretingthe two-dimensional code at step S804.

At step S807, the controller 200 combines the bitmap data of the displaylist obtained at step S805 with the bitmap data of the two-dimensionalcode obtained at step S806.

At step S808, the controller 200 prints the combined bitmap data. Theprocessing provides a copied matter of the paper source document onwhich the source document data (page layout completed source documentdata) and the two-dimensional code are printed. In this case, since thesource document data is not the image acquired by the scanning, but theimage rasterized using the original document data stored in the documentstorage, higher quality printing can be achieved.

Step S809 is a loop end of the processing of all the pages of the inputsource document, at which the copy processing terminates when theforegoing processing is completed for all the pages.

Data Structural Example of Document File

A data structural example of a document file will be described withreference to the drawings.

FIG. 13 is a diagram showing a data structure of a document file in thepresent embodiment.

The document file includes data on a plurality of pages, and isexpressed in a hierarchical structure having a document header (x1) as aroot. The document is composed of vector data (a), metadata (b), displaylist (c), page layout completed display list (d), and page layoutinformation metadata (e).

The vector data (a) includes page headers (x2), summary information(x3), and objects (x4).

The metadata (b) includes page information (x5) and detailed information(x6).

The display list (c) includes page headers (x7) and rendering developinginstructions (x8). The term “instructions (x8)” refers to renderinginformation depending on the resolution.

The document header (x1) describes storage areas of the vector data (a),display list (c), page layout completed display list (d), and pagelayout information metadata (e). In addition, the document header (x1)relates the vector data (a) with the display list (d). The vector data(a) is rendering data independent of the resolution. The page headers(x2) describe page layout information such as the size and direction ofthe pages. The objects (x4) describe rendering data such as lines,polygons and Bezier curves, and relate them. In addition, the pluralityof objects is related to the summary information (x3) collectively. Thesummary information (x3), which expresses characteristics of theplurality of objects collectively, describes attribute information ondivided regions shown in FIG. 14.

The metadata (b) is additional information for retrieval withoutrelating to the rendering processing.

The page information (x5) describes page information indicating as towhether the metadata is generated from the bitmap data or from the PDLdata, and the like.

The detailed information (x6) describes character strings (charactercode strings) generated as OCR information or image information.

Since the summary information (x3) in the vector data (a) is associatedwith the metadata (b), the summary information (x3) can refer to thedetailed information (x6) in the metadata (b).

The display list (c) is an intermediate code for generating the bitmapdata.

The page headers (x7) describe a management table of the instructions(x8). The instructions (x8) are composed of the rendering informationdepending on the resolution.

When a page layout is designated in addition to the display list of anormal single page, the management table (x9) of the page layoutcompleted rendering information is described. The instructions (x10) arecomposed of the rendering information dependent on the resolution.

The page layout information metadata (e) describes the followinginformation.

-   -   Link information to individual pages constituting the page        layout completed data, and page layout information (x11).    -   Link information to the page layout completed display list        (x12).    -   The output position of the two-dimensional code (x13)    -   Other page output setting information (x14).

FIG. 15A and FIG. 15B are diagrams each showing a storage area of thestorage, which stores various data shown in FIG. 13 in the presentembodiment.

FIG. 15A shows a state in which the various data are placed in thememory. The header, vector data, metadata and display list of thedocument are stored in the header area (al), vector data area (a2),metadata area (a3) and display list area (a4) in the memory,respectively. The vector data area (a2) stores the vector data. Themetadata area (a3) stores the metadata which is additional informationnot used in the rendering processing. The display list area (a4) storesthe display list.

FIG. 15B shows a state in which the various data are placed in the file.The vector data, metadata and display list of the document are placed inthe continues vector data area, metadata area, and display list area.

In the processing of FIG. 10 or FIG. 12, the controller 200 performs onthe PDL data the page layout printing having the two-dimensional codeattached by designating the page layout information and thetwo-dimensional code output position information, and makes a copy byreading the resultant printed matter with the scanner. As anotherembodiment, an example will be described below which carries outprinting by designating new page layout information for the resultantprinted matter, again. When the new page layout information (printsetting) is designated, the processing similar to that of FIG. 6 isexecuted to determine the new two-dimensional code output positioninformation.

FIG. 16 is a dataflow diagram showing a flow when performing copyprocessing using the two-dimensional code by designating the new pagelayout information and the new two-dimensional code output positioninformation.

The controller 200 executes the processing. The MFP receives the pagelayout information and two-dimensional code output position informationfrom the computer.

In scanning processing d1501, the controller 200 converts the sourcedocument image data (scanned image data) the scanner reads from a papersource document (source document that underwent page layout printing)set on the document exposure unit into the bitmap data. The paper sourcedocument has the two-dimensional code printed together with the sourcedocument data. Accordingly, the bitmap data includes the bitmap data ofthe two-dimensional code.

In two-dimensional code detecting/interpreting processing d1502, thecontroller 200 detects and interprets the two-dimensional code includedin the bitmap data. Subsequently, the controller 200 acquires the linkinformation indicating the page layout information metadata stored inthe document storage 408 from the two-dimensional code detected. By theprocessing, the page layout information metadata stored in the documentstorage 408 is identified (d1503).

In display list generating processing d1504 and in metadata generatingprocessing d1506, the controller 200 generates the page layout completeddisplay list and the page layout information metadata on the basis ofthe newly designated page layout information.

In adding processing d1505 to the document, the controller 200 adds thepage layout completed display list and the page layout informationmetadata to the document file.

In rasterizing processing d1507, the controller 200 converts the pagelayout completed display list to the bitmap. At the same time, intwo-dimensional code generating processing d1508, the controller 200generates the two-dimensional code from the two-dimensional code outputposition information.

In rasterizing processing d1509, the controller 200 converts thegenerated two-dimensional code to the bitmap.

In combining processing d1510, the controller 200 combines the bitmapdata of the display list rasterized in d1507 with the bitmap data of thetwo-dimensional code rasterized in d1509.

In printing processing d1511, the controller 200 prints the combinedbitmap data on paper. The processing completes copying the paper sourcedocument having the source document data (page layout completed sourcedocument data) and the two-dimensional code print thereon in the newlydesignated page layout. Incidentally, setting the printed matterobtained by the printing processing d1511 on the document exposure unitmakes it possible to execute the foregoing series of processing again.

Next, the document printing processing based on the two-dimensional codedetected by scanning the paper source document will be described withreference to drawings.

FIG. 17 is a flowchart showing a flow of the copy processing using thetwo-dimensional code. The controller 200 executes the processing. Here,a paper source document is placed on a scanning glass, and theprocessing is started after the user designates the new page layoutinformation and the two-dimensional code output position.

Step S1603 is a loop origin from which a loop starts until the entirepage processing of the paper source document is completed.

At step S1604, the controller 200 performs the scanning processing onthe paper source document (source document that underwent page layoutprinting) to obtain the source document image data.

At step S1605, the controller 200 detects the two-dimensional codeincluded in the source document image data obtained at step S1604, andinterprets the information the two-dimensional code represents.Subsequently, the controller 200 acquires from the two-dimensional codedetected the link information indicating the page layout informationmetadata stored in the document storage 408. The processing identifiesthe page layout information metadata stored in the document storage 408.

At step S1606, the controller 200 makes a decision as to whether adisplay list associated with the page layout information metadataidentified at step 1604 is stored in the document storage 408 or not.When the display list is stored, the controller 200 proceeds to theprocessing at step S1610. In contrast with this, when the display listis not stored, the controller 200 proceeds to the processing at stepS1607.

At step 1607, the controller 200 generates the display list and metadatain accordance with the page layout information.

At step 1608, the controller 200 performs the rasterizing processing onthe display list generated to convert the display list to the bitmapdata.

At step S1609, the controller 200 generates the page layout informationmetadata in accordance with the page layout information and thetwo-dimensional code output position information.

At step S1610, the controller 200 generates the two-dimensional coderepresenting the link information indicating the page layout informationmetadata generated.

At step S1611, the controller 200 executes the rasterizing processing ofthe two-dimensional code generated, and converts the two-dimensionalcode into the bitmap data.

At step S1612, the controller 200 combines the bitmap data of thedisplay list with the bitmap data of the two-dimensional code.

At step S1613, the controller 200 prints the combined bitmap data.

Step S1614 is a loop end of the processing of all the pages of the inputsource document.

At step S1615, the controller 200 makes a decision as to whether thepage layout information undergoing the current processing is newlydesignated page layout information or not. Unless it is the newlydesignated page layout information, the controller 200 completes thecopy processing. In contrast with this, if it is the newly designatedpage layout information, the controller 200 proceeds to the processingat step S1616.

At step S1616, the controller 200 stores the display list generated atstep S1607 and the page layout information metadata generated at stepS1609 in the document storage 408, and completes the copy processing. Inthis way, when the new page layout information is designated, the pagelayout information metadata and the page layout completed display listare added to the document file.

Other Embodiments in Accordance with Present Invention

The present invention can provide an embodiment of a system, device,method, or computer readable medium. The present invention is applicablenot only to a system consisting of a plurality of devises, but also to asingle device.

The embodiments in accordance with the present invention include a casethat supplies a system or apparatus with a computer program implementingthe functions of the present invention described before via a recordingmedium or network and causes the computer the system or apparatus has toexecute the program. The recording medium is a computer readablerecording medium. Accordingly, the embodiments can include the computerprogram itself for implementing the functions of the present invention.The computer program can include object codes, programs executed by aninterpreter, script data to be supplied to an OS and the like. Therecording medium can be a floppy (registered trademark) disk, hard disk,optical disk, magneto-optical disk, CD-ROM, CD-R, CD-RW, magnetic tape,nonvolatile memory card, ROM, DVD and the like. As a providing methodthe program, there is one that downloads it from the Internet to a harddisk using a browser of a client computer. This method downloads fromthe Internet a file of the computer program, or a file that iscompressed and has an automatic installing function. In addition, theembodiments can include a case that divides the program codeconstituting the computer program into a plurality of files, anddownload the individual files from different servers. Furthermore, theembodiments can include a server that allows a plurality of users todownload the files of the computer program.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2008-123559, filed May 9, 2008, which is hereby incorporated byreference herein in its entirety.

1. An image processing apparatus comprising: a position decidingcomponent configured to decide a printing position of an identificationcode according to a print setting designated for printing target data;an identification code generating component configured to generate theidentification code including information about the printing targetdata; a combining component configured to combine bitmap data for thegenerated identification code into a printing position in bitmap datagenerated from the printing target data, wherein the printing positionis decided by the position deciding component; and an output componentconfigured to output combined bitmap data.
 2. The apparatus as claimedin claim 1, wherein the position deciding component decides, when it isdetermined that the print setting is cutting printing, the printingposition of the identification code on each page formed after cutting.3. The apparatus as claimed in claim 1, wherein the position decidingcomponent decides, when it is determined that the print setting isposter printing, the printing position of the identification code on aphysical page coming to a prescribed position when joined.
 4. Theapparatus as claimed in claim 1, wherein the position deciding componentdecides, when it is determined that the print setting is printing thathandles a plurality of pages after printing as a set, the printingposition of the identification code on a first page.
 5. The apparatus asclaimed in claim 1, wherein the position deciding component decides,when it is determined that the print setting is 2-sided printing, theprinting position of the identification code on a front side page. 6.The apparatus as claimed in claim 1, wherein the position decidingcomponent decides, when it is determined that the print setting isnormal printing, the printing position of the identification code foreach physical page.
 7. The apparatus as claimed in claim 1, furthercomprising a saving component configured to save information about theprinting target data, wherein the information saved in the savingcomponent is specified by an information included in the identificationcode.
 8. The apparatus as claimed in claim 7, further comprising: acomponent configured to convert the printing target data into anintermediate page description language; and a component configured togenerate bitmap data from the intermediate page description language,wherein the information about the printing target data includes theintermediate page description language.
 9. The apparatus as claimed inclaim 1, wherein the identification code is one of a two-dimensionalcode, a bar code and a copy-forgery-inhibited pattern.
 10. An imageprocessing apparatus comprising: a component configured to input a pagedescription language, page layout information, and identification codeoutput position information indicating an output position of anidentification code; a component configured to convert the pagedescription language into an intermediate page description languagebased upon the page layout information; a component configured togenerate page layout information metadata associated with theintermediate page description language based upon the page layoutinformation and the identification code output position information; acomponent configured to generate an identification code designating alink information, wherein the link information indicates the page layoutinformation metadata; a component configured to convert the intermediatepage description language and the identification code into bitmap data;a component configured to combine the bitmap data of the intermediatepage description language with the bitmap data of the identificationcode; and a component configured to store the intermediate pagedescription language and the page layout information metadata associatedwith each other in a storage.
 11. The apparatus as claimed in claim 10,further comprising: a component configured to read a source documenthaving source document data and an identification code printed thereonto generate source document image data; a component configured to detectand analyze the identification code included in the source documentimage data to determine a storage location of the page layoutinformation metadata indicated by the identification code; a componentconfigured to determine whether or not the intermediate page descriptionlanguage associated with the page layout information metadata is storedin the storage; a component configured to convert, when it is determinedthat the intermediate page description language associated with the pagelayout information metadata is stored in the storage, the storedintermediate page description language into bitmap data; a componentconfigured to convert the identification code included in the sourcedocument image data into bitmap data; and a component configured tocombine the bitmap data of the intermediate page description languagestored in association with the page layout information metadata with thebitmap data of the identification code included in the source documentimage data.
 12. The apparatus as claimed in claim 10, furthercomprising: a component configured to read a source document havingsource document data and an identification code printed thereon togenerate source document image data; a component configured to detectand analyze the identification code included in the source documentimage data to determine a storage location of the page layoutinformation metadata indicated by the identification code; a componentconfigured to determine whether or not the intermediate page descriptionlanguage associated with the page layout information metadata is storedin the storage; a component configured to generate, when it isdetermined that the intermediate page description language associatedwith the page layout information metadata is not stored in the storage,a new intermediate page description language and the page layoutinformation metadata based upon the page layout information to convertthe new intermediate page description language into bitmap data; acomponent configured to convert the identification code included in thesource document image data into bitmap data; and a component configuredto combine the bitmap data of the generated new intermediate pagedescription language with the bitmap data of the identification codeincluded in the source document image data.
 13. The apparatus as claimedin claim 12, further comprising a component configured to store thegenerated new intermediate page description language and the page layoutinformation metadata in the storage.
 14. The apparatus as claimed inclaim 10, wherein the identification code is one of a two-dimensionalcode, a bar code and a copy-forgery-inhibited pattern.
 15. A method ofprocessing an image comprising the steps of: deciding a printingposition of an identification code according to a print settingdesignated for printing target data; generating the identification codeincluding information about the printing target data; combining bitmapdata for the generated identification code into a printing position inbitmap data generated from the printing target data, wherein theprinting position is decided at the deciding step; and outputtingcombined bitmap data.
 16. A method of processing an image comprising thesteps of: inputting a page description language, page layoutinformation, and identification code output position informationindicating an output position of an identification code; converting thepage description language into an intermediate page description languagebased upon the page layout information; generating page layoutinformation metadata associated with the intermediate page descriptionlanguage based upon the page layout information and the identificationcode output position information; generating an identification codedesignating a link information, wherein the link information indicatesthe page layout information metadata; converting the intermediate pagedescription language and the identification code into bitmap data;combining the bitmap data of the intermediate page description languagewith the bitmap data of the identification code; and storing theintermediate page description language and the page layout informationmetadata associated with each other in a storage.
 17. A computerreadable medium stored thereon a computer program for causing a computerto execute the steps of: inputting a page description language, pagelayout information, and identification code output position informationindicating an output position of an identification code; converting thepage description language into an intermediate page description languagebased upon the page layout information; generating page layoutinformation metadata associated with the intermediate page descriptionlanguage based upon the page layout information and the identificationcode output position information; generating an identification codedesignating a link information, wherein the link information indicatesthe page layout information metadata; converting the intermediate pagedescription language and the identification code into bitmap data;combining the bitmap data of the intermediate page description languagewith the bitmap data of the identification code; and storing theintermediate page description language and the page layout informationmetadata associated with each other in a storage.